home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Sapphire Collection
/
Software Vault (Sapphire Collection) (Digital Impact).ISO
/
cdr14
/
usk110.zip
/
USKUTIL.DOC
< prev
next >
Wrap
Text File
|
1994-11-01
|
25KB
|
842 lines
|
|
|
Universal Software Key, Inc. |
|
5521 Greenville #104-722 |
Dallas, Texas 75206-2925 |
United States of America |
|
Voice: (214) 692-8335 |
|
|
USK Ver 1.10 |
11/01/94 |
|
|
|
Files Included in USK110.EXE
[1] USKUTIL.DOC .... USK documentation (this text file).
[2] USKUTIL.EXE .... USK Utility program.
[3] USKUTIL.DBF .... Info storage file for USK Utility program.
[4] SBLASTER.EXE ... Space Blaster demonstration program.
[5] 1 .............. Instruction file for Space Blaster program.
Universal Software Key Binding Process, U.S. Patent Pending.
Copyright (c) 1994, Universal Software Key, Inc. All rights reserved.
All attempts have been made to make the information in this document complete
and accurate. Universal Software Key, Inc. is not responsible for any direct
or indirect damages or loss of business resulting from inaccuracies or
omissions. The specifications contained in this document are subject to
change without notice.
Universal Software Key (tm), USK (tm) and SoftRent (tm) are trademarks of
Universal Software Key, Inc. SentinelSuperPro (tm) is a trademark of Rainbow
Technologies, Inc. All other product names referenced in this document are
trademarks or registered trademarks of their respective manufacturers.
Universal Software Key Binding Process
Table of Contents
[1] Introduction to Universal Software Keys
A. Background .................................... 4
B. Getting Started ............................... 4
[2] Required Operation of Your Software .............. 5
[3] Instruction File
A. Use of Instruction File ....................... 6
B. Example Instruction File ...................... 6
C. Explanation Of Instruction File ............... 6
1. Info Line .................................. 6
2. Random Lines ............................... 7
3. DEID Line(s) ............................... 7
4. HKSN Line(s) ............................... 7
5. RAND Line(s) ............................... 8
6. EXAC Line(s) ............................... 8
D. Programming Notes ............................. 8
[4] Software Key File ................................ 9
[5] Hardware Keys .................................... 10
[6] Software Developer Numbers ....................... 11
[7] Utility/Demonstration Programs
A. USK Utility Program ........................... 12
B. Space Blaster Program ......................... 12
[8] Diagrams
A. Universal Software Key Process ................ 13
B. Program Use of Software Key ................... 13
[9] Software Developer Application Form .............. 14
- 3 -
Introduction to Universal Software Keys
---------------------------------------
Background
----------
A new technology has been developed that now allows your software to be copied
and distributed openly over any medium at any time without the usual worry of
illegal piracy. This technology is based on the Universal Software Key Process
patented by Universal Software Key (USK), Inc.
The Universal Software Key Process has it's software protection strategy based
on "hardware key" technology. Many developers today are protecting their
programs and the revenue they get from them by controlling software execution.
Quite different from software copy protection, execution control allows users to
make unlimited back-up copies. Yet operation is limited to licensed users.
A hardware key attaches to the parallel interface port on the back of the user's
computer. Hardware key operation is transparent to the end-user - computer and
peripheral operations are unaffected. But if the hardware key is removed, the
software application will not operate. It's simple, reliable and the most
fundamentally secure way to protect programs.
Thousands of developers worldwide have found that these hardware keys, coupled
with the latest technology, offer developers the most reliable, compatible and
secure form of protection available.
The Universal Software Key Process takes this one step further and makes it
practical to distribute software and hardware keys separately, and "bind" them
together when rented or sold. An unlimited number of programs can now be bound
with one hardware key. Software can also be freely distributed or rented
without worry of significant loss of revenue through piracy.
Getting Started
---------------
To program your software to take advantage of the Universal Software Key
Process, call Rainbow Technologies at 1-800-852-8569 and order their Sentinel
SuperPro Developers Kit $30. When you receive the kit, use our guidelines
shown here and program in your software locks. You can program as many locks
as you wish into your applications.
USK will charge a 10% binding fee based on the actual selling price of your
software, with a $1 minimum binding fee, everytime we create a software key
file to be used with your software program and a hardware key. 20% with a $2
minimum binding fee for software to be rented. USK will sell all the hardware
keys to be used with your software.
After you put in your software locks, please fill out the enclosed developers
on-line account form and mail it back to us. When we receive it, we will set
up an account on our on-line system for you to upload your program's
instruction files. The opportunity is there for you now, and all it takes is to
add the software locks to your application. If you have any questions, please
give us a call at 214-692-8335.
- 4 -
Required Operation of Your Software
-----------------------------------
(1) Your software must first search it's default directory for the software key
file. If not found, then search the directory path. If still not found, it
must then search the A drive floppy in directories A:\1, A:\2, A:\3, A:\4,
A:\5, A:\6 for the software key file. If still not found, the program will
terminate and give an explanation.
(2) If the software key file is located, the software will then load into
memory the software key file's developer ID and activate only the first
hardware key to make sure the proper one is attached. The software key
file's hardware key duplicate serial number must also be loaded into memory
and checked to make sure it is equal to or less than the actual hardware key
duplicate serial number, cell 0B.
(3) The program will then test the system to make sure it meets minimum
requirements for running the software. If it does not meet the minimum
requirements, it will terminate and give an explanation.
(4) After activating the hardware key, the software will then load the software
key file's various values and execute properly when the right values are
found that match the responses sent from the hardware key.
(5) If there are any work files that need to be created by your program, they
must be created within the same directory that the software key file was
found. Maximum available directory space would be 1/6 of the total
available space in that directory. Example: for an empty 1.2 Meg disk, you
would have 200K available. 200K of free disk space is also the minimum your
program must be able to work with.
- 5 -
Instruction File
----------------
Use of Instruction File
-----------------------
The instruction file contains the instructions on creating the software key file
to be used by your software with SentinelSuperPro hardware keys programmed with
random algorithms and sold by USK. The instruction file must be a plain ASCII
text file, with each line ending with ASCII dec 10 and 13 characters. There
are no blank lines in the file.
Using the instructions from this file, a software key file will be created that
your program can use with a hardware key. Only USK will be authorized to
possess the instruction file to create software key files. The name for the
example instruction file shown below would be 1.
Example Instruction File
------------------------
SPACE BLASTER VER 1.10,75.00,1994-1-1.KEY
201E804675D4834FD07A49D905B92B1BB0053F616F5B03E541DAE3B1A3339D086D64747E742B056F
47AE31BEB2D87D08E3491512586555895E2C9DF331AAD7A2678DA4CA7F922F0A7F1AEC7D35F94C31
802EA200CBC7E5E5DBE5C5DACB41B0FF94BA1FA3BB18A9CC9FF25C14224EE2F002A61AA1831B94DF
993606F995C4581B2AC83E753971D7E9A68D20B9DFDF1763D688C3974909CE6DFEBA0DF92730D598
F012267A399CB10302D3FDCA01EF5F9982CB1CF0C3C2D093F5B9E28A01AF898806CDB57F524C7B7F
9CF9CCF42218697412817D95352CE399C926F59C457101E5E4437AA26DDEB65973C372A141A3BCE2
08155ADA3E79B2440A59C9E1E6C33A0F0FD7BB79D782D14B47503AFDFB3A7A2FE1044C0A6A02FD42
F52C6EF974498916B033DE90E4ED5FADF4EC6DC18F25B8406C4D522DF2B8A2A22203E4A72325A84E
9705B36F3B926DB105E26AF1C364E6D097BD14E0637A52A654FF5862BB6561ACBCB7B1062895855D
6ABC98C6AB75DDBED3E0283BD8C40876F33C84115564286EA5FB37DEE66FC50D537040DE31E28FA7
DEID,50,60,4,65,4
HKSN,2C,545B5025,525,4,530,4
RAND,1A,D5923456,420,3,450,3,470,2
EXAC,20,A233EF9C,CD76BDA,301,4,310,4
Explanation of Instruction File
-------------------------------
SPACE BLASTER VER 1.10,75.00,1994-1-1.KEY
Info Line ...... Name of software program the instruction file is used to create
software key files for, retail selling price of software
program, and name of software key file to be created.
- 6 -
201E804675D4834FD07A49D905B92B1BB0053F616F5B03E541DAE3B1A3339D086D64747E742B056F
47AE31BEB2D87D08E3491512586555895E2C9DF331AAD7A2678DA4CA7F922F0A7F1AEC7D35F94C31
802EA200CBC7E5E5DBE5C5DACB41B0FF94BA1FA3BB18A9CC9FF25C14224EE2F002A61AA1831B94DF
993606F995C4581B2AC83E753971D7E9A68D20B9DFDF1763D688C3974909CE6DFEBA0DF92730D598
F012267A399CB10302D3FDCA01EF5F9982CB1CF0C3C2D093F5B9E28A01AF898806CDB57F524C7B7F
9CF9CCF42218697412817D95352CE399C926F59C457101E5E4437AA26DDEB65973C372A141A3BCE2
08155ADA3E79B2440A59C9E1E6C33A0F0FD7BB79D782D14B47503AFDFB3A7A2FE1044C0A6A02FD42
F52C6EF974498916B033DE90E4ED5FADF4EC6DC18F25B8406C4D522DF2B8A2A22203E4A72325A84E
9705B36F3B926DB105E26AF1C364E6D097BD14E0637A52A654FF5862BB6561ACBCB7B1062895855D
6ABC98C6AB75DDBED3E0283BD8C40876F33C84115564286EA5FB37DEE66FC50D537040DE31E28FA7
Random Lines ... Random character lines, each 100 characters long, are used to
help create the random lines of the software key file. 10
(minimum) to 100 (maximum) lines are required.
DEID,50,60,4,65,4
DEID Line(s) ... Line(s) that instructs on where a hex number at the following
location in the software key file, (60,4,65,4), that is
subtracted from another hex number, 8 characters starting at
50, will result in a hex number equal to the developers ID can
be found. 60 is the starting dec number location in the
software key file telling where to begin reading in the hex
number to be subtracted from the number found at locations 50
to 57. The next dec number, 4, tells how far, starting at 60
to read the hex number. The next dec number, 65, is the next
starting location in the software key file telling where to
begin reading in the continuation of the hex number to be
subtracted from the hex number found at locations 50 to 57.
The hex number to be subtracted from must be 8 characters long.
At least one DEID line is required.
HKSN,2C,545B5025,525,4,530,4
HKSN Line(s) ... Line(s) that instructs on where a hex number, that is
subtracted from an algorithm cell response will result in a hex
number equal to or less than the hardware key duplicate serial
number, can be found. 2C is the algorithm cell location in the
hardware key that the the next hex number, 545B5025, will be
sent to. The hex number that is subtracted will be expected in
the following dec number locations of the software key file
(525,4,530,4). If the hardware key duplicate serial number
that is calculated through the software key file is greater
than the actual hardware key duplicate serial number, cell 0B,
the program must terminate. The program must also terminate
if the calculated number is less than 1. The hex number sent
to the algorithm cell must be 8 characters long. At least one
HKSN line is required.
- 7 -
RAND,1A,D5923456,420,3,450,3,470,2
RAND Line(s) ... Line(s) that instructs on where a random hex number sent back
by the hardware key is to be put into the software key file.
1A is the algorithm cell location in the hardware key that the
next number, D5923456, will be sent to. The random hex number
sent back will be expected in the following dec number
locations of the software key file (420,3,450,3,470,2). The
hex number sent to the algorithm cell must be 8 to 12
characters long. RAND lines are optional but recommended.
EXAC,20,A233EF9C,CD76BDA,301,4,310,4
EXAC Line(s) ... Line(s) that instructs on where a hex number is to be found in
a software key file that is to be subtracted from a random hex
number sent back by the hardware key and equal a hex number
expected by your program. 20 is the algorithm cell location in
the hardware key that the next hex number, A233EF9C, will be
sent to. The following hex number, CD76BDA, is the exact hex
number expected from the subtracting of a hex number found in
the following dec number locations of the software key file
(301,4,310,4). Exact hex numbers to be expected back (in dec
form) must range from 1 to 268,435,455. The hex number sent to
the algorithm cell must be 8 characters long. EXAC lines are
optional but recommended.
Programming Notes
-----------------
It is up to you to do the following for your instruction files:
(1) Create the random character lines.
(2) Select the algorithm cell numbers (even hardware key cells 10 - 3E).
(3) Select the hex numbers to be sent to the algorithm cells.
(4) Select the hex numbers expected (in EXAC lines).
(5) Select the locations in the software key file to find hex numbers.
Hex number responses will be the same length of the numbers sent to the
algorithm cells. The amount of protection your program will have will be
directly proportional to the number and variety of DEID, HKSN, RAND, EXAC lines
you put in your software instruction file and program your software to expect.
- 8 -
Software Key File
-----------------
Each line in a software key file created will be exactly 100 ASCII text
characters long with characters 0 to 9, A to F, randomly mixed with values
computed for the software program. Each line will end with ASCII decimal 10 and
13 characters. There are no blank lines.
The last line is a identifier stamp giving the name of the program the software
key file is to be used with, the name of the software key file itself, the
hardware key it's to be used with, and the date the software key file was
created.
All software key file names would begin with the USK developer's number. For
example, the developer for the software key file shown below was assigned 1994-1
(the first USK developer in 1994). The instruction file name, 1, along with the
extension of KEY, is added onto the USK developer number, thus 1994-1-1.KEY is
the name for the software key file shown below.
Because the length of software key file names can be quite long, those
developers writing programs for IBM compatible computers, must use Windows 4.0
or greater to allow their programs to use software key file names longer than 8
characters.
4F2A90D229900844FD082BE3B22DBBFEEB5CB7EECCC3140A9E2BEBAFD19BDD811F89038200A46F3C
CE4BD4E83D7590A7B51013AF33ED2029151F0B4B704057F73260C28000078939CED7A68B320A8972
434EC15946636661F9640C0C750E841625A2C2871A2B9F113D5ED04EEFFCE67604D90A5DBD5B9757
993641A6E5C453F2E5C46ECBF53CB4223986B518A30ACCD0999CD4775FEDD71A8F96E470FBE041D7
B5F2E9258928FD93BEE4D56A18136DC31A10C3826EA36293D41E8CACD006E6E9B09D83975A05C899
315554EF4B1217B4684D1594352CD399C64CD86DE3A1D5E2A69F40159A72796354BF0B4325C13A60
35E2441304FF2B12BD1BD5D77795741E65395A6C95E8147B9FA753832663DE8877B617862904AC9C
6238C06A92DA08647A815FF2D3BEEF033006CE147033BDC7133338AE6D34A632C263BC99319E57D4
4FBD40165162080F38ECF3584C309C857439D6D55B061E485ED9FDE8D13D1060D52083005958DC14
1DC3D565124BE43C9191EDCE92322537F28E13D9D56428EBBD7937DE62C3FD2EA33BC8B6C30689E4
SPACE BLASTER VER 1.10,1994-1-1.KEY,1994-1-1,11/01/94
- 9 -
Hardware Keys
-------------
All hardware keys to be used by your programs and their software keys will be
programmed with random algorithms and sold by USK, and no two will be alike.
Cells 00, 01, 02, 03, 04, 05, 06, 07 are reserved for use by Rainbow
Technologies, Inc.
Cell 08 will contain the year that the hardware key was programmed by USK.
Cells 09 and 0A will contain the number that the hardware key was programmed in
the year shown in cell 08. Thus, if the hardware key was the 100th programmed
by USK in 1994, cells 08, 09, 0A would contain 07CA, 0000, 0064 respectively.
Cell 0B will contain the duplicate serial number of that hardware key. Thus
when the above hardware key, number 100 in 1994 was programmed, cell 0B would
contain 0001. If the owner lost the hardware key in 1995, 1996, 1997 and
received replacements each of those years, cell 0B in each of those hardware
keys would contain 0002, 0003, 0004 respectively.
Cells 0C, 0D, 0E, 0F are reserved for future use by USK.
All even cells 10 to 3E will be programmed with the random algorithms.
- 10 -
Software Developer Numbers
--------------------------
Each software developer who implements USK's patented software protection
process will be assigned a unique USK developer number. That number will be
based on the order in which the software developer was signed on by USK in a
particular year. Thus if the software developer was 89th developer signed on in
1994, that developer would be assigned 1994-89. 1994-89 would also be that
software developer's logon handle to USK's computer to upload instruction files
for it's programs.
- 11 -
Utility/Demonstration Programs
------------------------------
USK Utility Program
-------------------
The USK Utility program, USKUTIL.EXE, included with this documentation will help
software developers in their implementation of USK's patented hardware/software
binding process.
[1] They can program SentinelSuperPro hardware keys they receive from Rainbow
Technologies to be USK compatible. This would help them test their programs
and software key files with USK compatible hardware keys.
[2] They can create software key files from the instruction files they write for
their programs and test them with their programs and USK compatible hardware
keys.
[3] Convert decimal (base 10) numbers to hexadecimal (base 16) numbers.
Convert hexadecimal (base 16) numbers to decimal (base 10) numbers.
Space Blaster Program
---------------------
The Space Blaster program, SBLASTER.EXE, included with this documentation
demonstrates implementation of USK instruction lines, DEID, HKSN, RAND, EXAC.
Using this program, a developer can view the inner workings of the security
implemented, and how a hardware key and software key file are used in
conjuction with each other by the Space Blaster program.
Note: Before you can use SBLASTER.EXE, you must use USKUTIL.EXE to read in the
1 instruction file to create a software key file, 1994-1-1.KEY, that Space
Blaster can use with a USK compatible hardware key (programmed by
USKUTIL.EXE)
- 12 -
Diagrams
--------
Universal Software Key Process
------------------------------
--------------- -------------------- -------------------- ----------------
| Program |--->| Instruction File | | Description File |<---| Hardware Key |
--------------- -------------------- -------------------- ----------------
| |
| |
\ / \ /
------------------------
| Software Key Program |
------------------------
|
|
\ /
------------------------
| Software Key |
------------------------
Software key is created by the software key program
using a instruction file and description file.
Program Use of Software Key
---------------------------
------------------------
| Program |
| |
| |
| |
| | ------------
| | |-| Hardware |-|
| -------------- | | | Key | |
| |Software Key| |<-------->| | | |
| -------------- | | | | |
| | |-| |-|
------------------------ ------------
Software key loaded into program memory allows
program to interact with hardware key and thus run.
- 13 -
Software Developer Application Form
-----------------------------------
Company _________________________________________________________________
Address Line 1 __________________________________________________________
Address Line 2 __________________________________________________________
City ___________________ State ___ Zip ___________ Country ______________
Contact Person __________________________________________________________
Voice Phone ____________
Data Phone _____________
Fax Phone ______________
Mail to: Universal Software Key, Inc.
5521 Greenville #104-722
Dallas, TX 75206-2925
- 14 -